/*
	题目 4：寻找完数
	**规则**：  
	完数指一个数恰好等于它的真因数（除自身外的因数）之和，例如 6 = 1+2+3。  
	输入 `n`，输出 1~n 之间的所有完数。  

	**示例**：  
	输入：`n=30` → 输出：6, 28  

*/


/*
	思路分析：
	1.定义一个变量保存输入的正整数和所有完数的结果
	2.使用循环
		for循环
		（1）循环变量 i = 1
		（2）循环条件 到输入的整数结束
		（3）循环变量迭代：i++
		（4）循环内容：求得该数的所有因数的和
			使用循环
				for循环
				（1）循环变量 j = 1
				（2）循环条件 i - 1  (i/2)
				（3）循环变量迭代：j++
				（4）循环内容：
					使用判断 条件：当前的i 和j取余数 是否为0 把找到的数进行累加

			使用判断
				判断这个和和当前i是否相等 字符串拼接进行输出
	3.输出最后结果
*/

let n = parseInt(prompt("请输入一个正整数："));
console.log(n);
// 最后做输出使用
let result = "";

for (let i = 1; i <= n; i++) {
	let sum = 0;
	for (let j = 1; j <= i - 1; j++) {
		if (i % j === 0) {
			sum += j;
		}
	}
	// 做结果拼接
	if (sum === i) {
		result += i + " ";
	}
}

console.log(result);









